package cn.harry.modular.portrait.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class PortraitUserVO {

    /**
     * 用户名
     */
    @ColumnWidth(15)
    @ExcelProperty("用户名")
    @Schema(description = "用户名")
    private String username;
    /**
     * 用户ID
     */
    @ColumnWidth(15)
    @ExcelProperty("用户ID")
    @Schema(description = "用户ID")
    private String userSn;
    /**
     * cookieid
     */
    @ColumnWidth(15)
    @ExcelProperty("cookieid")
    @Schema(description = "cookieid")
    private String cookieid;
    /**
     * 地址
     */
    @ColumnWidth(15)
    @ExcelProperty("地址")
    @Schema(description = "地址")
    private String address;
    /**
     * 性别
     */
    @ColumnWidth(15)
    @ExcelProperty("性别")
    @Schema(description = "性别")
    private String gender;
    /**
     * 年龄
     */
    @ColumnWidth(15)
    @ExcelProperty("年龄")
    @Schema(description = "年龄")
    private Integer age;
    /**
     * 注册时间
     */
    @ColumnWidth(15)
    @ExcelProperty("注册时间")
    @Schema(description = "注册时间")
    private String registrationDate;
    /**
     * 历史付费金额
     */
    @ColumnWidth(15)
    @ExcelProperty("历史付费金额")
    @Schema(description = "历史付费金额")
    private BigDecimal historicalPaymentAmount;
    /**
     * 购物性别
     */
    @ColumnWidth(15)
    @ExcelProperty("购物性别")
    @Schema(description = "购物性别")
    private String shoppingGender;
    /**
     * 会员等级
     */
    @ColumnWidth(15)
    @ExcelProperty("会员等级")
    @Schema(description = "会员等级")
    private String membershipLevel;
    /**
     * 操作系统
     */
    @ColumnWidth(15)
    @ExcelProperty("操作系统")
    @Schema(description = "操作系统")
    private String operatingSystem;
    /**
     * 历史购买次数
     */
    @ColumnWidth(15)
    @ExcelProperty("历史购买次数")
    @Schema(description = "历史购买次数")
    private Integer historicalPurchaseCount;
    /**
     * 用户活跃度
     */
    @ColumnWidth(15)
    @ExcelProperty("用户活跃度")
    @Schema(description = "用户活跃度")
    private String userActivityLevel;
    /**
     * 购买品类
     */
    @ColumnWidth(15)
    @ExcelProperty("购买品类")
    @Schema(description = "购买品类")
    private String purchaseCategory;
    /**
     * 是否反馈问题
     */
    @ColumnWidth(15)
    @ExcelProperty("是否反馈问题")
    @Schema(description = "是否反馈问题")
    private Integer hasFeedbackIssue;
    /**
     * 近30日购买次数
     */
    @ColumnWidth(15)
    @ExcelProperty("近30日购买次数")
    @Schema(description = "近30日购买次数")
    private Integer recent30DaysPurchaseCount;
    /**
     * 近30日活跃天数
     */
    @ColumnWidth(15)
    @ExcelProperty("近30日活跃天数")
    @Schema(description = "近30日活跃天数")
    private Integer recent30DaysActiveDays;
    /**
     * 近30日购买金额
     */
    @ColumnWidth(15)
    @ExcelProperty("近30日购买金额")
    @Schema(description = "近30日购买金额")
    private BigDecimal recent30DaysPurchaseAmount;
    /**
     * 最近下单距今天数
     */
    @ColumnWidth(15)
    @ExcelProperty("最近下单距今天数")
    @Schema(description = "最近下单距今天数")
    private Integer daysSinceLastOrder;
    /**
     * 高频活跃时间段
     */
    @ColumnWidth(15)
    @ExcelProperty("高频活跃时间段")
    @Schema(description = "高频活跃时间段")
    private String highFrequencyActiveTime;
    /**
     * push周月活度
     */
    @ColumnWidth(15)
    @ExcelProperty("push周月活度")
    @Schema(description = "push周月活度")
    private String pushWeeklyMonthlyActivity;
    /**
     * 是否短信黑名单
     */
    @ColumnWidth(15)
    @ExcelProperty("是否短信黑名单")
    @Schema(description = "是否短信黑名单")
    private Integer isSmsBlacklisted;
    /**
     * 订单优惠券使用率
     */
    @ColumnWidth(15)
    @ExcelProperty("订单优惠券使用率")
    @Schema(description = "订单优惠券使用率")
    private BigDecimal orderCouponUsageRate;
    /**
     * 是否邮件黑名单
     */
    @ColumnWidth(15)
    @ExcelProperty("是否邮件黑名单")
    @Schema(description = "是否邮件黑名单")
    private Integer isEmailBlacklisted;

    /**
     * rfm
     */
    @ColumnWidth(15)
    @ExcelProperty("rfm")
    @Schema(description = "rfm")
    private String rfm;
}
